package com.lhf.userservice.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.lhf.userservice.entity.FvsSysPer;
import com.lhf.userservice.vo.FvsSysPerVO;
import com.lhf.userservice.vo.PerCascaderVo;

import java.util.List;
import java.util.Map;

/**
 * 权限(FvsSysPer)表服务接口
 *
 * @author liuhf
 * @since 2021-03-29 16:02:05
 */
public interface FvsSysPerService extends IService<FvsSysPer> {

    /**
     * 查询权限列表
     *
     * @param page
     * @param fvsSysPer
     * @return
     */
    Page<FvsSysPerVO> selectAll(Page<FvsSysPer> page, FvsSysPer fvsSysPer);

    /**
     * 查询角色所有的权限
     *
     * @param rid
     * @return
     */
    List<FvsSysPerVO> findPerByRid(Long rid);

    /**
     * 查询用户权限菜单
     *
     * @param uid
     * @return
     */
    List<FvsSysPerVO> findPerByUid(Long uid, Long parentId);

    /**
     * 查询用户权限菜单以及路由
     *
     * @param uid
     * @return
     */
    Map<String, List> findPerAndRoute(Long uid, Long parentId);

    /**
     * 查询权限级联选择器
     *
     * @param parent
     * @return
     */
    List<PerCascaderVo> findPerCascaderByParent(Long parent);
}
